<?php

require_once("../../util/conexao.php");
require_once("../../util/util.php");

class ContasPagarDao{
	
	public function retornaContasPagar($limite,$arrayDados=""){
		
		$conexao = Conexao::conectar();
		$contas  = array();
		$somaCondicao = 0;
						
		if(!empty($arrayDados["fornecedor"])){
			$condicaoFornecedor = "and m.idFornecedor=".$arrayDados["fornecedor"];
		}else{
			$condicaoFornecedor = "";
		}
		
		if(!empty($arrayDados["de"]) && !empty($arrayDados["ate"])){	
			
			if($arrayDados["tipodata"] == "dv"){		
				$condicaoData = "and t.dataVencimento between '".Util::dataBd($arrayDados["de"])."' and '".Util::dataBd($arrayDados["ate"])."'";					
			}else{
				$condicaoData = "and t.dataUltimoPagamento between '".Util::dataBd($arrayDados["de"])."' and '".Util::dataBd($arrayDados["ate"])."'";
			}
			
			$somaCondicao++;
		}else{
			$condicaoData = "";
		}
		
		if((!empty($arrayDados["status"])) && ($arrayDados["status"] != "TODOS")){
			
			if($arrayDados["status"] == "EMABERTO"){
				$condicaoStatus = "and t.quitado='N'";
			}elseif($arrayDados["status"] == "QUITADO"){
				$condicaoStatus = "and t.quitado='S'";
			}elseif($arrayDados["status"] == "ATRASADO"){
				$condicaoStatus = "and t.dataVencimento < '".date("Y-m-d")."' and t.quitado='N'";
			}
			
			$somaCondicao++;
			
		}else{
			$condicaoStatus = "";
		}
		
		if(!empty($arrayDados["natureza"]) && ($arrayDados["natureza"] != "TODOS")){
			$condicaoNatureza = "and m.natureza=".$arrayDados["natureza"];
			$somaCondicao++;
		}else{
			$condicaoNatureza = "";
		}
		
		if($limite > 0){
			$limit = "limit {$limite}";			
		}else{
			if($somaCondicao > 0){
				$limit = "";
			}else{
				$limit = "limit 5000";			
			}
		}
		
		$query   = "select t.id as idT,t.dataVencimento as dataV,t.valor as valor,t.parcela as parcela,
		            v.placa as placa,n.nome as natureza,t.valorPago as parcial,t.quitado as quitado,
					t.desconto as desconto,t.acrescimo as acrescimo,
					t.dataUltimoPagamento as dataUltimoPagamento 
					from tbtitulos t
					INNER JOIN tbmovimentacao m ON(m.id = t.idMovimento)
					LEFT JOIN tbveiculo v ON(v.id = t.idVeiculo)
					INNER JOIN tbnatureza n ON(m.natureza = n.id)
		            where m.tipo='PAGAMENTO' and m.deletado='N' ".$condicaoData." ".$condicaoStatus." ".$condicaoNatureza." ".$condicaoFornecedor." ".$limit;																								

		$res     = mysql_query($query,$conexao);
		
		$i=0;
		while($row = mysql_fetch_object($res)){
			$contas[$i]['id']         = $row->idT;
			$contas[$i]['vencimento'] = $row->dataV;
			$contas[$i]['parcial']    = $row->parcial;
			$contas[$i]['desconto']   = $row->desconto;
			$contas[$i]['acrescimo']  = $row->acrescimo;
			$contas[$i]['valor']      = $row->valor;
			$contas[$i]['parcela']    = $row->parcela;
			$contas[$i]['placa']      = $row->placa;
			$contas[$i]['natureza']   = $row->natureza;
			$contas[$i]['quitado']    = $row->quitado;
			$contas[$i]['dataUltimoPagamento'] = $row->dataUltimoPagamento;
			$i++;
		}
		
		Conexao::desconectar();
		return $contas;
	}
	
	public function retornaDadosTitulo($codigo){
		
		$conexao = Conexao::conectar();
		$dados  = array();
		
		$query   = "select * from tbtitulos where id=".$codigo." and deletado='N'";
		$res     = mysql_query($query,$conexao);
		
		$i=0;
		while($row = mysql_fetch_object($res)){
			$dados[$i]['id']                    = $row->id;
			$dados[$i]['valor']                 = $row->valor;
			$dados[$i]['parcela']               = $row->parcela;
			$dados[$i]['dataPrimeiroPagamento'] = $row->dataPrimeiroPagamento;
			$dados[$i]['dataUltimoPagamento']   = $row->dataUltimoPagamento;
			$dados[$i]['acrescimo']             = $row->acrescimo;
			$dados[$i]['desconto']              = $row->desconto;
			$dados[$i]['valorPago']             = $row->valorPago;
			$dados[$i]['idMovimento']           = $row->idMovimento;
			$i++;
		}
		
		Conexao::desconectar();
		return $dados;
	}
	
	public function baixarTitulo($arrayDados){		
		
		$conexao = Conexao::conectar();
		
		$query = "update tbtitulos set desconto=".$arrayDados["desconto"].",acrescimo=".$arrayDados["acrescimo"].",
		          valorPago=".$arrayDados["apagar"].",quitado='".$arrayDados["quitado"]."',dataPrimeiroPagamento='".$arrayDados["dataPP"]."',
				  dataUltimoPagamento='".date("Y-m-d H:i:s")."' where id=".$arrayDados["hdcodigo"];
		$res   = mysql_query($query,$conexao);
		
		return $res;		  
		
		Conexao::desconectar();
	}
	
	public function verificarTituloEmAberto($codigo){
		
		$conexao = Conexao::conectar();
		
		$query = "select count(*) as total from tbtitulos where idMovimento=".$codigo." and quitado='N' and deletado='N'";
		$res   = mysql_query($query,$conexao);
		$row   = mysql_fetch_object($res);		
		
		return $res."$".$row->total;		  
		
		Conexao::desconectar();
	}
	
	public function atualizarStatusMovimento($codigo){
		
		$conexao = Conexao::conectar();
		
		$query = "update tbmovimentacao set quitado='S' where id=".$codigo;
		$res   = mysql_query($query,$conexao);
		
		return $res;		  
		
		Conexao::desconectar();
	}
	
	public function adicionarMovimentoContasPagar($arrayDados){
		
		$conexao  = Conexao::conectar();
		
		$query = "insert into tbmovimentacao(idVeiculo,idFornecedor,valorTotal,idUser,parcelas,natureza,tipo)
		          values(0,".$arrayDados["fornecedor"].",".($arrayDados['valor']*$arrayDados['tparcelas']).",".$_SESSION["dadosUsuario"]["id"].",".$arrayDados['tparcelas'].",".$arrayDados['natureza'].",'PAGAMENTO')";
		$res   = mysql_query($query,$conexao);
		$id    = mysql_insert_id();
		
		return $res."$".$id;
		
		Conexao::desconectar();
	}
	
	public function adicionarTitulosContasPagar($arrayDados,$idMovimento){
		
		$conexao  = Conexao::conectar();						
		
		for($i=0; $i<$arrayDados["tparcelas"]; $i++){			
			
			$query = "insert into tbtitulos(dataVencimento,valor,parcela,idMovimento,idVeiculo)
		    	      values('".$arrayDados['data'][$i]."',".$arrayDados['parcelas'][$i].",".($i+1).",".$idMovimento.",0)";											
			
			$res   = mysql_query($query,$conexao);
						
			if(!$res){
				$break;
			}
		}
		
		return $res;
		
		Conexao::desconectar();
	}
}

?>